package org.jeecg.modules.arc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @Description: 用户水表
 * @Author: jeecg-boot
 * @Date:   2022-02-07
 * @Version: V1.0
 */
@Data
@TableName("mws_t_arc_customers")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="mws_t_arc_customers对象", description="用户水表")
public class ArcCustomers implements Serializable {
    private static final long serialVersionUID = 1L;

	/**ID*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private java.lang.String id;
	/**片区*/
	@Excel(name = "片区", width = 15, dictTable = "mws_t_base_areas", dicText = "name", dicCode = "id")
	@Dict(dictTable = "mws_t_base_areas", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "片区")
    private java.lang.String areaId;
	/**用户编号*/
	@Excel(name = "用户编号", width = 15)
    @ApiModelProperty(value = "用户编号")
    private java.lang.String code;
	/**户名*/
	@Excel(name = "户名", width = 15, dictTable = "mws_t_arc_contacts", dicText = "name", dicCode = "id")
	@Dict(dictTable = "mws_t_arc_contacts", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "户名")
    private java.lang.String contactId;
	/**地址*/
	@Excel(name = "地址", width = 15)
    @ApiModelProperty(value = "地址")
    private java.lang.String address;
	/**用户状态 1正常2报停3停水4销户*/
	@Excel(name = "用户状态", width = 15, dicCode = "water_user_status")
	@Dict(dicCode = "water_user_status")
    @ApiModelProperty(value = "用户状态")
    private java.lang.String waterUserStatus;
	/**分组编号*/
	@Excel(name = "分组编号", width = 15)
    @ApiModelProperty(value = "分组编号")
    private java.lang.String groupname;
	/**用水性质*/
	@Excel(name = "用水性质", width = 15, dictTable = "mws_t_base_natures", dicText = "name", dicCode = "id")
	@Dict(dictTable = "mws_t_base_natures", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "用水性质")
    private java.lang.String natureId;
	/**水表用途*/
	@Excel(name = "水表用途", width = 15, dicCode = "water_use_type")
	@Dict(dicCode = "water_use_type")
    @ApiModelProperty(value = "水表用途")
    private java.lang.String waterUseType;
	/**启用时间*/
	@Excel(name = "启用时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "启用时间")
    private java.util.Date enabledTime;
	/**是否计量*/
	@Excel(name = "是否计量", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否计量")
    private java.lang.Integer isCalculated;
	/**是否计费*/
	@Excel(name = "是否计费", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否计费")
    private java.lang.Integer isCharged;
	/**是否预存*/
	@Excel(name = "是否预存", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否预存")
    private java.lang.Integer isStored;
	/**是否增值税用户*/
	@Excel(name = "是否增值税用户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否增值税用户")
    private java.lang.Integer isVat;
	/**是否预开票户*/
	@Excel(name = "是否预开票户", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否预开票户")
    private java.lang.Integer isPreinvoiced;
	/**是否启用阶梯*/
	@Excel(name = "是否启用阶梯", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否启用阶梯")
    private java.lang.Integer isTieredPrice;
	/**是否远传表*/
	@Excel(name = "是否远传表", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否远传表")
    private java.lang.Integer isRemote;
	/**加压级别*/
	@Excel(name = "加压级别", width = 15, dicCode = "water_pressur_level")
	@Dict(dicCode = "water_pressur_level")
    @ApiModelProperty(value = "加压级别")
    private java.lang.String waterPressurLevel;
	/**水表井号*/
	@Excel(name = "水表井号", width = 15)
    @ApiModelProperty(value = "水表井号")
    private java.lang.String manholeId;
	/**口径*/
	@Excel(name = "口径", width = 15, dicCode = "water_caliber_size")
	@Dict(dicCode = "water_caliber_size")
    @ApiModelProperty(value = "口径")
    private java.lang.String waterCaliberSize;
	/**最后换表时间*/
	@Excel(name = "最后换表时间", width = 20, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "最后换表时间")
    private java.util.Date lastReplacedTime;
	/**水表止度*/
	@Excel(name = "水表止度", width = 15)
    @ApiModelProperty(value = "水表止度")
    private java.math.BigDecimal lastReadScale;
	/**初始读数*/
	@Excel(name = "初始读数", width = 15)
    @ApiModelProperty(value = "初始读数")
    private java.math.BigDecimal firstScale;
	/**水表安装日期*/
	@Excel(name = "水表安装日期", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "水表安装日期")
    private java.util.Date firstInstallTime;
	/**抄表周期*/
	@Excel(name = "抄表周期", width = 15, dicCode = "water_read_cycle")
	@Dict(dicCode = "water_read_cycle")
    @ApiModelProperty(value = "抄表周期")
    private java.lang.String waterReadCycle;
	/**抄表本*/
	private String bookId;
	/**本月是否要抄表*/
	@Excel(name = "本月是否要抄表", width = 15, dicCode = "yn")
	@Dict(dicCode = "yn")
    @ApiModelProperty(value = "本月是否要抄表")
    private java.lang.Integer isRead;
	/**应抄次数*/
	@Excel(name = "应抄次数", width = 15)
    @ApiModelProperty(value = "应抄次数")
    private java.lang.Integer readTimes;
	/**待抄次数*/
	@Excel(name = "待抄次数", width = 15)
    @ApiModelProperty(value = "待抄次数")
    private java.lang.Integer unreadTimes;
	/**应缴费日*/
	@Excel(name = "应缴费日", width = 15)
    @ApiModelProperty(value = "应缴费日")
    private java.lang.String paidDay;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
	/**更新时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
	/**部门编码*/
    @ApiModelProperty(value = "部门编码")
    private java.lang.String sysOrgCode;
	/**是否删除*/
	@Excel(name = "是否删除", width = 15)
    @ApiModelProperty(value = "是否删除")
    private java.lang.Integer delFlag;
	/**说明*/
	@Excel(name = "说明", width = 15)
    @ApiModelProperty(value = "说明")
    private java.lang.String remark;
	/**租户网点*/
//	@Excel(name = "租户网点", width = 15)
//    @ApiModelProperty(value = "租户网点")
    private java.lang.Integer tenantId;

	/**停水备注*/
//	@Excel(name = "停水备注", width = 15)
	@ApiModelProperty(value = "停水备注")
	private java.lang.String stopRemark;
	/**停水时间*/
//	@Excel(name = "停水时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "停水时间")
	private java.util.Date stopTime;

	/**销户备注*/
//	@Excel(name = "销户备注", width = 15)
	@ApiModelProperty(value = "销户备注")
	private java.lang.String cancelRemark;
	/**恢复备注*/
//	@Excel(name = "恢复备注", width = 15)
	@ApiModelProperty(value = "恢复备注")
	private java.lang.String recoverRemark;
	/**销户时间*/
//	@Excel(name = "销户时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "销户时间")
	private java.util.Date cancelTime;
	/**恢复时间*/
	@Excel(name = "恢复时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "恢复时间")
	private java.util.Date recoverTime;
	/**报停备注*/
//	@Excel(name = "报停备注", width = 15)
	@ApiModelProperty(value = "报停备注")
	private java.lang.String noticeRemark;
	/**报停时间*/
//	@Excel(name = "报停时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "报停时间")
	private java.util.Date noticeTime;
	/**批准人*/
//	@Excel(name = "批准人", width = 15)
//	@ApiModelProperty(value = "批准人")
	private java.lang.String approverName;
	/**变更原因*/
//	@Excel(name = "变更原因", width = 15)
//	@ApiModelProperty(value = "变更原因")
	private java.lang.String changeCause;

	/**名称*/
	private String cusName;
}
